Одна из самых больших новых функций недавно выпущенного jOOQ 3.15 — это поддержка реактивных запросов с помощью R2DBC. Это был очень популярный запрос функциональности, и мы наконец его выполнили.
Вы можете продолжать использовать jOOQ так, как вы привыкли, обеспечивая типобезопасный SQL, встроенный в Java, kotlin или scala, но выполнение ваших запросов больше не блокируется. Вместо этого ваш jOOQ ResultQuery
или Query
может использоваться как Publisher<R>
или Publisher<Integer>
в реализации reactive-streams (реактивных потоков) по вашему выбору.
Вместо (или в дополнение к) настройки вашего jOOQ DSLContext
с помощью JDBC java.sql.Connection
или javax.sql.DataSource
просто настройте его с помощью R2DBC io.r2dbc.spi.Connection
или io.r2dbc.spi.ConnectionFactory
:
ConnectionFactory connectionFactory = ConnectionFactories.get( ConnectionFactoryOptions .parse("r2dbc:h2:file://localhost/~/r2dbc-test") .mutate() .option(ConnectionFactoryOptions.USER, "sa")